package pos.domain;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import java.io.Serializable;
import pos.client.dac.dao.TipoLinkU_FODAO;
import pos.client.dac.dao.TipoLinkU_FODAOAsync;
import pos.server.dac.exceptions.EccezioneCRUD;

public class TipoLinkU_FO implements Serializable{
	private Utente utente;
	private OperazioneFinanziaria op_f;
	
	//private TipoLinkU_FODAOAsync dao = (TipoLinkU_FODAOAsync) GWT.create(TipoLinkU_FODAO.class);
        /** NON usare, solo per rendere la classe Serializable */
    public TipoLinkU_FO() {
    }
	
        
	public TipoLinkU_FO(Utente u, OperazioneFinanziaria op) throws EccezionePrecondizioni {
		if (u == null || op == null) // CONTROLLO PRECONDIZIONI
		throw new EccezionePrecondizioni("Gli oggetti devono essere inizializzati");
			utente = u; 
			op_f=op; 
			}

		
	public boolean equals(Object o) {
		if (o != null && getClass().equals(o.getClass())) {
		TipoLinkU_FO b = (TipoLinkU_FO)o;
		return b.op_f == op_f && b.utente == utente;
			}
			else return false;
		}

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 67 * hash + (this.utente != null ? this.utente.hashCode() : 0);
        hash = 67 * hash + (this.op_f != null ? this.op_f.hashCode() : 0);
        return hash;
    }

	

	public Utente getUtente() { return utente; }
	
	public String getUtente_login() { return utente.getLogin(); }

	public OperazioneFinanziaria getOperazioneFinanziaria() { return op_f; }
	
	public int getId_of(){
		return op_f.getId_of();
	}
	
	//gestione BD
/*
public void inserisciDatisuDB(AsyncCallback<Void> callback) throws EccezioneCRUD
{ dao.inserisciDatisuDb(this, callback);}

public void cancellaDatidaDB(AsyncCallback<Void> callback) throws EccezioneCRUD
{ dao.eliminaDatisuDb(this, callback);}
*/

}
